1. Field of the Invention
This invention is related to the field of user interfaces and program controls. More particularly, this invention is directed to a method and apparatus for allowing simultaneous zooming and panning of content in a graphical user interface display.
2. Description of Background
A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by any one of the patent disclosure, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright rights whatsoever.
Many types of data have a broad range and a fine resolution. For example, a video clip is composed of a continuum of frames. The video clip can store up to a series of tens of thousands of frames. Thus, it has approximately five orders of magnitude. Similarly, a five second digital audio clip may require five orders of magnitude to access each bit sample. These types of data are often linear in the sense that there are starting and ending points and many linked xe2x80x9cframesxe2x80x9d or points of data between the starting and ending points.
In order to edit a video clip, one needs-frame accurate control over the entire medium. In other words, a user must be able to readily pick out one particular desired frame nestled among tens of thousands of frames. It becomes readily apparent that tasks such as adjusting key frames in an video film or manipulating audio samples, can be quite time consuming and frustrating. What is needed is a method or apparatus which lets the user find and access one particular desired piece of data which is located among a broad range of data.
In the past, access to a particular point or frame of data was accomplished by using scroll bars. However, scroll bars typically can handle only two orders of magnitude. Consequently, a scroll bar would either need to be approximately twenty yards long in order to grant access to each frame of a video disk or provide a very compressed view of the frames in the video clip. The former user interface is impracticable, the latter would not be useful.
Another method used in the prior art was to implement VCR-type controls. This allows the user control over the entire range of data. However, these types of controls lack selectivity. For example, it would be difficult for a user to stop precisely on one particular desired frame or data point. The user would probably either overshoot or undershoot the desired frame or data point and would need to go back and forth searching for that particular frame or data point. What is needed is a method that gives the user control over a broad range, while giving the user random access to any particular piece of data within that range, especially at fine resolutions.
Yet another method used in the prior art to solve this problem is to provide one control for magnification of the data and another control for scanning at the selected magnification. One product utilizing this technique is SoundEdit(trademark) by Farallon Computing, Inc. However, this implementation has a drawback in that it requires two separate controls. A further disadvantage is that these two controls cannot be operated simultaneously. A user has to change the magnification control independently from the navigation control. Such a system results in wasted time and effort. Thus, what is needed is a method and apparatus for providing the user with easy and fluid interaction over varying magnification scales while simultaneously providing the user with the capability of scanning at that magnification scale.
In view of the problems associated with providing a user with control over a broad range of data, particularly linear data, one objective of the present invention is to provide the user with access of data down to very fine resolutions in a simple, natural, and effective method by utilizing a cursor positioning device such as a mouse, a paddle, a trackball, touch tablet, joystick or other input device-having the capability of providing control for cursor movement in at least a single dimension.
Another objective is to increase the speed, accuracy and selectivity of accessing data over a broad range by providing the user with easy and fluid interaction over varying magnification scales, while simultaneously providing the user with the capability of scanning the data at that magnification scale.
A method and device for accessing a broad data field having a fine resolution is described. A default scale is provided and is represented and controlled by a scalable scroll bar with a width that is proportional to the scale that is being represented. The scale controls the magnification at which the user accesses and/or examines the data. At a selected magnification, there is a particular range of the data (from one point in the data to another point in the data) that is provided. The present invention allows the user to modify the scale, which also changes the displayed range to be over different portions of the data field. The scale is varied by the user by manipulating the scalable scroll bar. Thus, the user may xe2x80x9czoom inxe2x80x9d and xe2x80x9czoom outxe2x80x9d to different portions of the data field. In addition, by moving the range to encompass different portions of the data field, the user can scan that portion of the data field.
In one embodiment of the present invention, a particular piece of data within the broad data field can be accessed. First, the scale is selectively varied, thereby controlling a range within the data field. Then, the range is moved to encompass a portion of the data field in which the piece of data resides. Next, the scale is successively decreased while, simultaneously, points successively closer to the location are kept within the range. The scale is decreased, which increased the magnification (i.e., increasing the range""s resolution). The range is moved in this manner until the piece of data is actually accessed.
This is accomplished by using an input device having at least one degree of freedom (e.g., a mouse, a paddle, trackball, touch tablet, joystick, etc.). For example, movement can be along an x or an y-axis in a Cartesian coordinate system. Combined with the closing of a switch, movement along the axis may control the selection of the scale and the range at that scale. In preferred embodiment, the data from the input device can be remapped to control the position of a cursor on a display screen in one axis of movement, instead of the scale and range. In other words, the same input device can control either the position of a cursor or control the scale and range, simply by remapping the axes of the input device.
Other objects, features, and advantages of the present invention will be apparent from the accompanying drawings and from the detailed description that follows below.